package uicgas.communication;

import uicgas.globaldata.*;

/**
 * Common remote command interface
 * 
 * @author Hong Wang
 *
 */
public interface RemoteCommand
{
	/**
	 * Execute the command
	 */
	void executeRemoteCommand();

	/**
	 * Execute the command with payload coming in end-point in which the command is invoked 
	 * 
	 * @param data {@link MessagePayload} payload from other end-point
	 * @return 0 - command executed successfully, other values - command executed failed
	 */
	int executeRemoteCommand(MessagePayload data);

	//	int executeRemoteCommand(MessagePayload data, int sourceID, ClientTypes sourceType);

}
